Add gtk_plug_get_socket_window
authorTim Janik <timj@src.gnome.org>
Fri, 20 Jun 2008 11:10:37 +0000 (11:10 +0000)
committerTim Janik <timj@src.gnome.org>
Fri, 20 Jun 2008 11:10:37 +0000 (11:10 +0000)
svn path=/trunk/; revision=20629

gtk/gtk.symbols
gtk/gtkplug.c
gtk/gtkplug.h

index 3312b868bdb775460f9ed0a44b6ce562bae50a31..151fa0cabbf9c8a077e5fdcf869f24af9075479a 100644 (file)
@@ -2502,6 +2502,7 @@ gtk_plug_construct
 gtk_plug_construct_for_display
 gtk_plug_get_id
 gtk_plug_get_embedded
+gtk_plug_get_socket_window
 gtk_plug_get_type G_GNUC_CONST
 gtk_plug_new
 gtk_plug_new_for_display
index 9149be74fbac1318a5fb9c7fc4a5917928d86cba..ff3f9131e1df74e58e909e2f5bc9d575a582a8ce 100644 (file)
@@ -71,6 +71,7 @@ typedef struct
 enum {
   PROP_0,
   PROP_EMBEDDED,
+  PROP_SOCKET_WINDOW
 };
 
 enum {
@@ -95,6 +96,9 @@ gtk_plug_get_property (GObject    *object,
     case PROP_EMBEDDED:
       g_value_set_boolean (value, plug->socket_window != NULL);
       break;
+    case PROP_SOCKET_WINDOW:
+      g_value_set_object (value, plug->socket_window);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -148,6 +152,21 @@ gtk_plug_class_init (GtkPlugClass *class)
                                                         FALSE,
                                                         GTK_PARAM_READABLE));
 
+  /**
+   * GtkPlug:socket-window:
+   *
+   * The window of the socket the plug is embedded in.
+   *
+   * Since: GSEAL-branch
+   */
+  g_object_class_install_property (gobject_class,
+                                  PROP_SOCKET_WINDOW,
+                                  g_param_spec_object ("socket window",
+                                                       P_("Socket Window"),
+                                                       P_("The window of the socket the plug is embedded in"),
+                                                       GDK_TYPE_WINDOW,
+                                                       GTK_PARAM_READABLE));
+
   /**
    * GtkPlug::embedded:
    * @plug: the object on which the signal was emitted
@@ -249,7 +268,7 @@ gtk_plug_get_id (GtkPlug *plug)
  * @plug: a #GtkPlug
  *
  * Determines whether the plug is embedded in a socket.
- * 
+ *
  * Return value: %TRUE if the plug is embedded in a socket
  **/
 gboolean
@@ -260,6 +279,22 @@ gtk_plug_get_embedded (GtkPlug *plug)
   return plug->socket_window != NULL;
 }
 
+/**
+ * gtk_plug_get_socket_window:
+ * @plug: a #GtkPlug
+ *
+ * Retrieves the socket the plug is embedded in.
+ *
+ * Return value: the window of the socket, or %NULL
+ **/
+GdkWindow *
+gtk_plug_get_socket_window (GtkPlug *plug)
+{
+  g_return_val_if_fail (GTK_IS_PLUG (plug), NULL);
+
+  return plug->socket_window;
+}
+
 /**
  * _gtk_plug_add_to_socket:
  * @plug: a #GtkPlug
index e09fd92f7179b6e2a6b7373923be0e98e2582ba1..cb9040aff100270dcbd6c68b1159e534b9debd45 100644 (file)
@@ -94,6 +94,8 @@ GdkNativeWindow gtk_plug_get_id (GtkPlug         *plug);
 
 gboolean  gtk_plug_get_embedded (GtkPlug         *plug);
 
+GdkWindow *gtk_plug_get_socket_window (GtkPlug   *plug);
+
 void _gtk_plug_add_to_socket      (GtkPlug   *plug,
                                   GtkSocket *socket_);
 void _gtk_plug_remove_from_socket (GtkPlug   *plug,